package com.ycb.bookserver.service;

import com.book.result.PageResult;
import com.ycb.book.dto.BookDTO;
import com.ycb.book.dto.BookPageQueryDTO;
import com.ycb.book.dto.CategoryDTO;
import com.ycb.book.entity.Book;
import com.ycb.book.entity.User;
import com.ycb.book.vo.BookVO;
import com.ycb.book.vo.BookVO1;

import java.util.List;

public interface BookService {
    /**
     * 新增出售书籍
     * @param bookDTO
     * @return
     */
    void addBook(BookDTO bookDTO);

    /**
     * id查询书籍
     * @param id
     * @return
     */
    BookVO1 getById(Long id);

    /**
     * 修改书籍信息
     * @param bookDTO
     */
    void modify(BookDTO bookDTO);

    /**
     * 出售商品
     * @param status
     * @param id
     */
    void sold(Integer status, Long id);

    /**
     * 删除商品
     * @param id
     */
    void delete(Long id);

    /**
     * 搜索书籍
     * @param bookPageQueryDTO
     * @return
     */
    PageResult search(BookPageQueryDTO bookPageQueryDTO);

    /**
     * 批量删除书籍
     * @param ids
     */
    void deleteBatch(List<Long> ids);

    /**
     * 查询所有书籍
     * @return
     */
    List<BookVO> allBook();

    /**
     * 根据酚类查询书籍
     * @param categoryDTO
     * @return
     */
    List<BookVO> BookCategory(CategoryDTO categoryDTO);

    /**
     * 部分名称查询书籍
     * @param partName
     * @return
     */
    List<BookVO> searchByPartName(String partName);

    /**
     * 出售商品
     * @param status
     * @param id
     */
    void soldAdmin(Integer status, Long id);
}
